package edu.ccut.saturn.studio.wfg.model;
//package edu.ccut.saturn.studio.wfg.model;
//
//import java.beans.PropertyChangeListener;
//import java.beans.PropertyChangeSupport;
//import java.io.IOException;
//import java.io.ObjectInputStream;
//import java.io.Serializable;
//
//public class ModelElement implements Serializable {
//
//	private static final long serialVersionUID = 1;
//	
//	private transient PropertyChangeSupport pcsDelegate = new PropertyChangeSupport(        
//			this);
//   
//	private ModelElement parent;
//	
//	public ModelElement getParent() {
//		return parent;
//	}
//
//	public void setParent(ModelElement parent) {
//		this.parent = parent;
//	}
//
//	public synchronized void addPropertyChangeListener(PropertyChangeListener l) {
//		if (l == null) {
//			throw new IllegalArgumentException();
//		}
//		pcsDelegate.addPropertyChangeListener(l);
//	}
//
//	protected void firePropertyChange(String property, Object oldValue,
//			Object newValue) { 
//		if (pcsDelegate.hasListeners(property)) {
//			pcsDelegate.firePropertyChange(property, oldValue, newValue);
//		}
//	}
//
//	private void readObject(ObjectInputStream in) throws IOException,            
//			ClassNotFoundException {
//		in.defaultReadObject();
//		pcsDelegate = new PropertyChangeSupport(this);
//	}
//	
//	public synchronized void removePropertyChangeListener(                     
//			PropertyChangeListener l) {
//		if (l != null) {
//			pcsDelegate.removePropertyChangeListener(l);
//		}
//	}
//}
